Many modern appliances, consumer devices, and other devices include embedded systems that are configured to perform one or more dedicated functions. Embedded systems of such devices that provide networking capabilities may periodically send requests to hosted applications that provide various support capabilities for the embedded systems.
Devices with embedded systems may be configured to operate in “multi-tenant” environments where a single instance of an application executes on a server device and serves multiple “tenants”. A tenant, or client, is a group of users that share common access with instance of the application. For example, a tenant may be an original equipment manufacturer (OEM) of the devices with the embedded systems. Typically, multi-tenant environments perform “rate limiting” of requests received from tenant devices in order to control the rate of network traffic received from different tenant devices in the network. Rate limiting provides the benefit of managing network resources effectively across clients, as well as protecting the network from being overtaxed by excessive traffic.